Page({
  data: {
    username: '',
    phone: '',
    password: '',
    selectedOption: 'patient', // 默认选择病人
    name: '', // 陪诊人姓名
    idCard: '', // 陪诊人身份证号
    agreeLocation: false, // 是否同意提供定位服务
    medicalRecordPath: '', // 病历照片路径
    companionCertificatePath: '../../images/images-zyd/关注.png', // 陪诊合格证书路径

    selectedOption: '', // 假设这个值在其他地方被设置为 'hospital'
    region: ['', '', ''], // 初始化为空数组，用于存储选中的省市区
    regionList: [], // 用于存储所有可选的省市区，通常从服务器获取或预置在代码中
    address: '', // 具体地址


    confirmPassword: '',
    verificationCode: '',
    userTypes: ['病人', '陪诊人', '医院'],
    selectedUserType: 0,

    diseaseCategories: ['神经系统疾病', '鼻咽喉疾病'], // 疾病大类
    specificDiseases: [
      ['短暂性脑缺血发作', '脑出血'], // 神经系统疾病下的具体疾病
      ['声带息肉经支撑', '慢性鼻窦炎经鼻', '喉癌'] // 鼻咽喉疾病下的具体疾病
    ],
    selectedDiseaseCategoryIndex: 0, // 选中的疾病大类索引
    selectedSpecificDiseaseIndex: 0, // 选中的具体疾病索引
    medicalRecordPath: '../../images/images-zyd/关注.png', // 病历照片路径
  },
  // 处理单选框选择事件
  radioChange(e) {
    this.setData({
      selectedOption: e.detail.value
    });
  },
  // 处理用户名输入
  handleUsernameInput(e) {
    this.setData({
      username: e.detail.value
    });
  },
  // 处理手机号输入
  handlePhoneInput(e) {
    this.setData({
      phone: e.detail.value
    });
  },
  // 发送验证码
  sendVerificationCode() {
    const {
      phone
    } = this.data;
    if (!phone) {
      wx.showToast({
        title: '请先输入手机号',
        icon: 'none'
      });
      return;
    }
    // 调用后台接口发送验证码
    wx.request({
      url: 'https://your-backend-api.com/sendVerificationCode', // 替换为你的后台接口
      method: 'POST',
      data: {
        phone: phone
      },
      success: (res) => {
        if (res.data.success) {
          wx.showToast({
            title: '验证码发送成功',
            icon: 'success'
          });
          // 可以在这里设置一个定时器，限制用户再次点击发送验证码的按钮
          this.setData({
            canSendCode: false
          }, () => {
            setTimeout(() => {
              this.setData({
                canSendCode: true
              });
            }, 60000); // 60秒后允许再次发送
          });
        } else {
          wx.showToast({
            title: res.data.message || '验证码发送失败',
            icon: 'none'
          });
        }
      },
      fail: () => {
        wx.showToast({
          title: '网络错误，请稍后再试',
          icon: 'none'
        });
      }
    });
  },
  // 处理密码输入
  handlePasswordInput(e) {
    this.setData({
      password: e.detail.value
    });
  },
  // 处理确认密码输入
  handleConfirmPasswordInput(e) {
    this.setData({
      confirmPassword: e.detail.value
    });
  },
  // 选择用户类别
  radioChange(e) {
    this.setData({
      selectedOption: e.detail.value,
      selectedDiseaseCategoryIndex: 0, // 重置疾病大类索引
      selectedSpecificDiseaseIndex: 0, // 重置具体疾病索引
      medicalRecordPath: '' // 重置病历照片路径
    });
  },
  bindDiseaseCategoryChange(e) {
    this.setData({
      selectedDiseaseCategoryIndex: e.detail.value
    });
  },
  bindSpecificDiseaseChange(e) {
    this.setData({
      selectedSpecificDiseaseIndex: e.detail.value
    });
  },

  chooseMedicalRecord() {
    const self = this;
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        const tempFilePaths = res.tempFilePaths;
        self.setData({
          medicalRecordPath: tempFilePaths[0]
        });
      },
      fail(err) {
        console.error(err);
      }
    });
  },



  // 处理姓名输入
  bindNameInput(e) {
    this.setData({
      name: e.detail.value
    });
  },

  // 处理身份证号输入
  bindIdCardInput(e) {
    this.setData({
      idCard: e.detail.value
    });
  },

  // 面部识别按钮点击事件
  faceRecognitionTap() {
    wx.showModal({
      title: '提示',
      content: '微信小程序本身不直接提供面部识别功能，需要调用后端服务或使用微信提供的生物认证接口。',
      showCancel: false,
      success: function (res) {
        if (res.confirm) {
          console.log('用户点击确定');
        }
      }
    });
  },

  // 选择陪诊合格证书照片
  chooseCompanionCertificate() {
    const self = this;
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        const tempFilePaths = res.tempFilePaths;
        self.setData({
          companionCertificatePath: tempFilePaths[0]
        });
      },
      fail(err) {
        console.error(err);
      }
    });
  },

  // 处理定位服务同意复选框变化
  bindAgreeLocationChange(e) {
    this.setData({
      agreeLocation: e.detail.value.includes('agreeLocation')
    });
  },

  // 提交陪诊人信息
  submitCompanionInfo() {
    const {
      name,
      idCard,
      agreeLocation,
      companionCertificatePath
    } = this.data;
    if (!name || !idCard || !agreeLocation || !companionCertificatePath) {
      wx.showToast({
        title: '请填写完整信息',
        icon: 'none'
      });
      return;
    }
    // 这里可以调用后端接口提交信息
    wx.request({
      // url:
      method: 'POST',
      data: {
        name,
        idCard,
        agreeLocation: agreeLocation ? 'yes' : 'no',
        companionCertificate: companionCertificatePath // 注意：这里直接传递文件路径可能不适用，需要转换为Base64或文件ID等后端可接受的形式
      },
      success(res) {
        wx.showToast({
          title: '提交成功',
          icon: 'success'
        });
        // 可以在这里进行页面跳转或其他操作
      },
      fail(err) {
        wx.showToast({
          title: '提交失败',
          icon: 'none'
        });
        console.error(err);
      }
    });
  },

  // 生命周期函数--监听页面加载
  onLoad: function (options) {
    this.setData({
      regionList: wx.getRegionList() // 使用微信提供的API获取省市区列表
    });
  },

  // 处理省市区选择器变化
  bindRegionChange: function (e) {
    this.setData({
      region: e.detail.value
    });
  },

  // 处理具体地址输入
  bindAddressInput: function (e) {
    this.setData({
      address: e.detail.value
    });
  },

  // 提交医院信息
  submitHospitalInfo: function () {
    const {
      region,
      address
    } = this.data;
    if (!region[0] || !region[1] || !region[2] || !address) {
      wx.showToast({
        title: '请填写完整信息',
        icon: 'none'
      });
      return;
    }
    wx.showToast({
      title: '医院信息提交成功',
      icon: 'success'
    });
  },
  handleRegister() {
    wx.showToast({
      title: '注册成功',
      icon: 'success',
      success: () => {
        wx.redirectTo({
          url: '/pages/login/login'  
        });
      }
    });
  }
});